<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"  
    xmlns:h="http://java.sun.com/jsf/html"  
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:p="http://primefaces.org/ui"
    template="/plantillas/plantilla-sistema.xhtml">  
    <f:metadata>
        <f:event type="preRenderView" 
                 listener="#{areaprotegidaBean.validarAcceso}"/>
    </f:metadata>
    <ui:define name="cabecera">
        <title>Gestión de Áreas Protegidas</title>
        <link rel="shortcut icon"  
              href="/resources/imagenes/favicon.ico" />
    </ui:define>
    <ui:define name="contenido">
        <center>
            <p:panel id="areaprotegidaPnl" 
                     header="Listado de Áreas Protegidas" 
                     styleClass="contenido">
                <h:form id="tablaAreaprotegidaFrm">
                    <p:dataTable id="tablaAreaprotegidaDtb" 
                                 var="areaprotegida" 
                                 resizableColumns="true"
                                 value="#{areaprotegidaBean.listaEntidades}"
                                 rowKey="#{areaprotegida.codigoarea}" 
                                 selectionMode="single"
                                 paginator="true" 
                                 paginatorPosition="bottom" 
                                 rows="10"
                                 emptyMessage="No hay registros disponibles.">
                        <p:column headerText="Área Protegida" 
                                  filterBy="#{areaprotegida.nombre}" 
                                  sortBy="#{areaprotegida.nombre}" 
                                  filterMatchMode="contains"
                                  styleClass="columna">
                            <h:outputText value="#{areaprotegida.nombre}" />
                        </p:column>
                        <p:column headerText="Descripción" 
                                  filterBy="#{areaprotegida.descripcion}" 
                                  filterMatchMode="contains"
                                  styleClass="columna">
                            <h:outputText value="#{areaprotegida.descripcion}"/>
                        </p:column>
                        <p:column headerText="Modificar"
                                  styleClass="columna"
                                  rendered="#{sesionBean.verificarPermiso('modificar','areaprotegida')}">
                            <center>
                                <p:commandButton 
                                    id="modificarBtn" 
                                    title="Modificar" 
                                    icon="ui-icon-pencil"
                                    actionListener="#{areaprotegidaBean.prepararModificacion(areaprotegida)}" 
                                    oncomplete="guardarAreaprotegidaWgt.show()"
                                    update=":guardarAreaprotegidaFrm:guardarAreaprotegidaPnl">
                                    <f:setPropertyActionListener 
                                        target="#{areaprotegidaBean.operacionActual}"
                                        value="ACTUALIZACION" />
                                </p:commandButton>
                            </center>                   
                        </p:column>
                        <p:column headerText="Eliminar"
                                  style="font-size: 110%"
                                  rendered="#{sesionBean.verificarPermiso('eliminar','areaprotegida')}">
                             <center>
                                 <p:commandButton 
                                     id="eliminarBtn"
                                     title="Eliminar" 
                                     actionListener="#{areaprotegidaBean.prepararEliminacion(areaprotegida)}"
                                     icon="ui-icon-trash"
                                     update="@form" 
                                     oncomplete="confirmacionWgt.show()">
                                     <f:setPropertyActionListener 
                                         target="#{areaprotegidaBean.operacionActual}" 
                                         value="ELIMINACION" />
                                 </p:commandButton>
                             </center>
                        </p:column>
                        <f:facet name="footer">
                            <p:commandButton 
                                id="agregarBtn" 
                                value="Nueva área protegida"
                                actionListener="#{areaprotegidaBean.prepararAdicion}"
                                oncomplete="guardarAreaprotegidaWgt.show()"
                                update=":guardarAreaprotegidaFrm:guardarAreaprotegidaPnl"
                                title="Agregar nuevo área protegida"
                                icon="ui-icon-document" 
                                style="float:left; font-size: 110%"
                                rendered="#{sesionBean.verificarPermiso('agregar','areaprotegida')}">
                                <f:setPropertyActionListener 
                                    target="#{areaprotegidaBean.operacionActual}"
                                    value="INSERCION" />
                            </p:commandButton>
                    </f:facet>      
                    </p:dataTable>         
                </h:form>
            </p:panel>
        </center>
    </ui:define>   
    <ui:define name="extra">
        <!-- Dialogo para agregar y modificar las áreas protegidas -->
        <p:dialog id="guardarAreaprotegidaDlg" 
                  header="Datos del Área Protegida" 
                  widgetVar="guardarAreaprotegidaWgt" 
                  resizable="false" 
                  modal="true" 
                  closable="false"
                  draggable="false"
                  style="font-size: 85%">
            <h:form id="guardarAreaprotegidaFrm">
                <p:messages id="mensajesMsg" globalOnly="true" />
                <h:panelGrid id="guardarAreaprotegidaPnl" 
                             columns="2" 
                             style="margin-bottom:10px; font-size: 85%">
                    <h:outputLabel for="nombreAreaprotegidaTxt" 
                                   value="Nombre del área protegida:" />
                    <p:inputText id="nombreAreaprotegidaTxt" 
                                 value="#{areaprotegidaBean.entidad.nombre}"
                                 required="true"/>    
                    <p:column>
                        <p:outputLabel for="descripcionTxt" 
                                       value="Descripción:" />
                        <br/>
                        <h:outputText id="contador" 
                                      style="font-size: 80%"/>
                    </p:column>
                    <p:inputTextarea id="descripcionTxt"  
                                    value="#{areaprotegidaBean.entidad.descripcion}"
                                    autoResize="false"
                                    title="Opcional"
                                    counter="contador"
                                    counterTemplate="Restan {0} caracteres." 
                                    maxlength="1000"/>     
                    <h:outputLabel for="municipioTxt" 
                                   value="Municipio(s):" />
                    <p:selectCheckboxMenu id="municipioTxt" 
                                          label="Seleccione..." 
                                          value="#{areaprotegidaBean.zonaAreaprotegida}"
                                          filter="true"
                                          required="true"
                                          converter="zonaConverter"
                                          panelStyle="width:250px;"
                                          filterText="Filter" 
                                          filterMatchMode="contains" 
                                          style="font-size: 105%">  
                        <f:selectItems value="#{areaprotegidaBean.itemsZona}" 
                                       itemLabel="#"
                                       itemValue="#"/>  
                    </p:selectCheckboxMenu>
                </h:panelGrid> 
                <p:separator  />
                <br/>
                <p:commandButton 
                    value="Guardar" 
                    id="guardarBtn"
                    actionListener="#{areaprotegidaBean.guardarEntidad}"
                    update="@form,:tablaAreaprotegidaFrm:tablaAreaprotegidaDtb" 
                    oncomplete="if ( !args.validationFailed ) 
                                   guardarAreaprotegidaWgt.hide()" 
                    icon="ui-icon-disk" 
                    title="Guardar"
                    style="float:right; font-size: 85%"/>                   
                <p:commandButton 
                    value="Cancelar" 
                    actionListener="#{areaprotegidaBean.revertirCambios}"
                    onclick="guardarAreaprotegidaWgt.hide()"
                    icon="ui-icon-cancel" 
                    title="Cancelar"
                    immediate="true"
                    style="float:right; font-size: 85%"/>
            </h:form>
        </p:dialog>
        <!-- Diálogo de confirmación de eliminación -->
        <p:confirmDialog id="confirmacionDlg" 
                         message="¿Está seguro que desea eliminar el registro?" 
                         header="Confirmación" 
                         widgetVar="confirmacionWgt" 
                         severity="alert"
                         width="300"
                         closable="false"
                         style="font-size: 85%">   
            <h:form>
            <p:messages 
             id="mensajesMsg" 
             globalOnly="true" />
            <p:commandButton 
                value="Eliminar"
                actionListener="#{areaprotegidaBean.eliminarEntidad}"
                icon="ui-icon-trash" 
                style="float:right; font-size: 85%"
                update="@form,:tablaAreaprotegidaFrm:tablaAreaprotegidaDtb"
                oncomplete="if ( !args.validationFailed ) confirmacionWgt.hide()"/>
            <p:commandButton 
                value="Cancelar"
                update="@form"
                oncomplete="confirmacionWgt.hide()" 
                icon="ui-icon-cancel" 
                style="float:right; font-size: 85%">
                <f:setPropertyActionListener 
                    target="#{areaprotegidaBean.operacionActual}" 
                    value="NINGUNA" />
            </p:commandButton>
            </h:form>
        </p:confirmDialog>
    </ui:define>   
</ui:composition>

